//
//  TextHelper.swift
//  TextHelper
//
//  Created by bo wang on 2021/8/30.
//  Copyright © 2021 wangbo. All rights reserved.
//

import Foundation

enum TextHelper {
    /// 正在输入文字的长度
    /// - Parameters:
    ///   - range: 编辑位置
    ///   - textStr: 输入框中现在有的内容
    ///   - string: 正在输入或者删除的内容
    /// - Returns: 内容长度
    static func textLength(range: NSRange, textStr: String?, string: String) -> Int {
        return (textStr?.count ?? 0) + string.count - range.length
    }
    /// 拼接输入框中的内容
    ///
    /// - Parameters:
    ///   - range: 编辑位置
    ///   - textStr: 输入框中现在有的内容
    ///   - string: 正在输入或者删除的内容
    /// - Returns: 拼接之后的内容
    static func componentStr(range: NSRange, textStr: String?, string: String) -> String {
        if range.length == 0 {
            // 输入
            let muStr: NSMutableString = NSMutableString.init(string: textStr ?? "")
            muStr.insert(string, at: range.location)
            return String.init(muStr)
        } else {
            // 删除
            let muStr: NSMutableString = NSMutableString.init(string: textStr ?? "")
            muStr.deleteCharacters(in: range)
            muStr.insert(string, at: range.location)
            return String.init(muStr)
        }
    }
}
